home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 5 / Amiga Plus Sonderheft 1996 #5.iso / programme / visual / rexx / adpro.rexx next >
OS/2 REXX Batch file  |  1995-03-21  |  2KB  |  112 lines

  1. /*
  2.  * $VER: 1.01 (2-mar-1995)
  3.  *
  4.  * Arexx program for Visual to generate thumbnails with ADPro.
  5.  * Written by C.Vallee
  6.  *
  7.  * This script generates thumbnails for all the selected file
  8.  *
  9.  */
  10.  
  11. options results
  12. gfxport = "ADPro"
  13.  
  14. /* Loading ADPro, if not present */
  15.  
  16. if (~show('p',gfxport)) then do
  17.    message "Loading ADPro..."
  18.    address command "run ADPro:ADPro BEHIND"
  19.    message "Waiting for the "||gfxport||" ARexx port..."
  20.  
  21. /* Waiting for the ARexx port every 2 seconds until present */
  22.    do while (~show('p',gfxport))
  23.       address command "Wait 2"
  24.       check
  25.       if rc ~= 0 then exit
  26.    end
  27. end
  28.  
  29. GetInfo
  30. parse var result '"' mypalette '"' w h .
  31.  
  32. address value gfxport
  33.  
  34. SFORMAT "IFF"
  35.  
  36. PLOAD mypalette
  37. PSTATUS "LOCKED"
  38. PTOTAL "HAM8"
  39. POFFSET 0
  40. PUSED 64
  41.  
  42. address
  43.  
  44. do forever
  45.    check
  46.    if rc ~= 0 then break
  47.  
  48.    getselected
  49.    if result = "" then break
  50.    file = result
  51.  
  52.    i = LASTPOS('/', file)
  53.    if i = 0 then i = lastpos(':', file)
  54.    name = substr( file , i+1 )
  55.  
  56.    message 'Loading "'||name||'"...' 
  57.  
  58.    address
  59.    LOAD '"'file'"'
  60.  
  61.    if rc = 0 then do
  62.  
  63.       IMAGE_TYPE
  64.       ImageType = ADPRO_RESULT
  65.  
  66.       'XSIZE'
  67.       width = ADPRO_RESULT
  68.  
  69.       'YSIZE'
  70.       height = ADPRO_RESULT
  71.  
  72.       if ( width * h ) > (height * w ) then do
  73.          height = ( height * w ) % width
  74.          width = w
  75.       end
  76.       else do
  77.          width = ( width * h ) % height
  78.          height = h
  79.       end
  80.  
  81.       address VISUAL message 'Scaling "'||name||'"...'
  82.       ABS_SCALE width height
  83.  
  84.  
  85.       IF (WORD( ImageType, 1 ) ~= "COLOR") THEN DO
  86.          address VISUAL message 'Grey2Color "'||name||'"...'
  87.          OPERATOR "GRAY_TO_COLOR"
  88.       END
  89.  
  90.       address VISUAL message 'Rendering "'||name||'"...'
  91.       RENDER_TYPE "HAM8"
  92.       EXECUTE
  93.  
  94.       SAVE '"'file'.icn"' "IMAGE"
  95.  
  96.       address
  97.       update
  98.       end
  99.    else do
  100.       address
  101.       unselect
  102.    end
  103. end
  104.  
  105. address
  106.  
  107. Undo On
  108. Redraw On
  109.  
  110. /* Quit ADPro */
  111. /* ADPRO_EXIT */
  112.